package util;

import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Objects;

import cn.hutool.crypto.digest.MD5;

public class MD5Utils {
	
	public static void main(String[] args) throws UnsupportedEncodingException {
		// 糊涂工具的md5使用
		MD5 m = MD5.create();
		m.setDigestCount(2);
		String str = m.digestHex16("123456");
		System.out.println(str);
	}
	
	
	// 给明文字符串，返回加密后的密码
	public static String md5(String str) {
		// 1.判断str是否为空，为空抛出异常
		if (Objects.isNull(str))
			throw new NullPointerException();
		
		try {
			// 2.创建md5算法
			MessageDigest md = MessageDigest.getInstance("md5");
			// 3.更新数据
			md.update(str.getBytes());
			// 4.直接返回
			String string = new BigInteger(1, md.digest(str.getBytes())).toString(16);
			return string;
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		}
		return "";
	}
}
